home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d5 / witch.arc / WITCH.BAS (.txt) < prev   
Encoding:
GW-BASIC  |  1985-10-15  |  3.2 KB  |  96 lines

  1. 10  GOSUB 530: GOTO 280
  2. 20  H=0: K=0: FOR A= 7 TO 35: GOSUB 60: NEXT
  3. 30  GOSUB 170: IF H<1 THEN 250
  4. 40  H=0: K=0: A=T: GOSUB 60: IF H<1 THEN 250
  5. 50  GOTO 30
  6. 60  IF B(A)=0 OR B(A)=-S OR B(A)=2 THEN RETURN
  7. 70  FOR B=0 TO D(A-7): C=A+M(B): IF B(C)=S OR B(C)=2 THEN 160
  8. 80  IF B(C) THEN 120
  9. 90  SC=RND(1)*0.9: IF H<SC THEN H=SC: F=A: T=C
  10. 100  IF CK=1 AND T1=C THEN L=1: B=7
  11. 110  GOTO 160
  12. 120  IF B(C+M(B)) THEN 160
  13. 130  SC=1+RND(1)*0.9: IF H<SC THEN H=SC: F=A: T=C+M(B): K=C
  14. 140  IF CK=0 THEN 160
  15. 150  IF T1=C+M(B) THEN L=1: K1=C: B=7
  16. 160  NEXT: RETURN
  17. 170  B(T)=B(F): B(F)=0: A=F: GOSUB 760
  18. 180  IF K THEN B(K)=0: A=K: GOSUB 760
  19. 190  A=T: GOTO 760
  20. 200  GOSUB 520: IF S=1 THEN PRINT"THE WITCHES WIN!": GOTO 220
  21. 210  PRINT"THE GHOSTS WIN!"
  22. 220  LOCATE 23,10: PRINT"HIT A KEY TO PLAY AGAIN"
  23. 230  K$=INKEY$: IF K$="" THEN 230
  24. 240  RUN
  25. 250  S=-S: H=0: A=7
  26. 260  IF A=36 THEN 200
  27. 270  GOSUB 60: IF H=0 THEN A=A+1: GOTO 260
  28. 280  D=0: GOSUB 520: IF S=1 THEN PRINT"GHOST'S TURN": GOTO 300
  29. 290  PRINT"WITCH'S TURN"
  30. 300  PRINT TAB(16) "FROM:";
  31. 310  E=E+1: K$=INKEY$: IF K$="" THEN 310
  32. 320  IF ASC(K$)=13 THEN GOSUB 520: RANDOMIZE E: GOTO 20
  33. 330  IF ASC(K$)<97 OR ASC(K$)>121 THEN 310
  34. 340  PRINT K$: A=N(ASC(K$)-97): Z=A
  35. 350  LOCATE 23,18: PRINT "TO:";
  36. 360  K$=INKEY$: IF K$="" THEN 360
  37. 370  IF ASC(K$)<97 OR ASC(K$)>121 THEN 360
  38. 380  PRINT K$: T1=N(ASC(K$)-97)
  39. 390  CK=1: L=0: K1=0: GOSUB 60: CK=0
  40. 400  H=0: A=7
  41. 410  IF A=36 THEN 440
  42. 420  GOSUB 60: IF H>=1 THEN 440
  43. 430  A=A+1: IF A<36 THEN 420
  44. 440  IF D THEN 470
  45. 450  IF L THEN 480
  46. 460  SOUND 99,5: GOTO 280
  47. 470  IF L=0 OR K1=0 THEN SOUND 99,5: GOTO 510
  48. 480  IF K1=0 AND H>=1 THEN 460
  49. 490  F=Z: T=T1: K=K1: GOSUB 170: IF K1=0 THEN 250
  50. 500  A=T: Z=A: H=0: GOSUB 60: IF H<1 THEN 250
  51. 510  GOSUB 520: D=1: GOTO 350
  52. 520  LOCATE 20,1: FOR B=1 TO 3:PRINT:PRINT"                              ";:NEXT:LOCATE 21,14: RETURN
  53. 530  KEY OFF: SCREEN 1: COLOR 0,1: CLS: DEFINT C,W
  54. 540  DIM C1(98),W1(98),SQ(98),B(42),D(28),X(35),Y(35),L(35),XL(35),YL(35),N(28)
  55. 550  LINE (50,80)-(81,103),1,B
  56. 560  LOCATE 12,12: PRINT "THE WITCHING HOUR
  57. 570  LINE (230,80)-(261,103),1,B
  58. 580  GET (50,80)-(81,103),SQ
  59. 590  FOR A=0 TO 52: READ C1(A): NEXT
  60. 600  PUT (56,82),C1
  61. 610  GET (50,80)-(81,103),C1
  62. 620  FOR A=0 TO 69: READ W1(A): NEXT
  63. 630  PUT (232,82),W1
  64. 640  GET (230,80)-(261,103),W1
  65. 650  S=-1: FOR A=0 TO 7: READ M(A): NEXT
  66. 660  FOR A=0 TO 28: READ D(A): NEXT
  67. 670  B=48: C=32: D=59: E=12
  68. 680  FOR A=0 TO 4: FOR F=0 TO 4: H=6*A+F+7: X(H)=B*F+D-15: Y(H)=C*A+E-11
  69. 690  L(H)=G+97: N(G)=H: G=G+1: XL(H)=6*F+10: YL(H)=4*A+1: NEXT: NEXT
  70. 700  CLS: FOR A=0 TO 4: LINE (D,C*A+E)-(B4+D,C*A+E),2: NEXT
  71. 710  FOR A=0 TO 4: LINE (B*A+D,E)-(B*A+D,C*4+E),2: NEXT
  72. 720  A=0: F=0: GOSUB 740: A=B+B: GOSUB 740: F=C+C: GOSUB 740: A=0: GOSUB 740
  73. 730  FOR A=0 TO 42: READ B(A): GOSUB 760: NEXT: RETURN
  74. 740  LINE (D+A,E+F)-(2*B+D+A,2*C+E+F),2
  75. 750  LINE (D+A,2*C+E+F)-(2*B+D+A,E+F): RETURN
  76. 760  IF B(A)=2 THEN RETURN
  77. 770  IF B(A)<0 THEN PUT (X(A),Y(A)),W1,PSET
  78. 780  IF B(A)=0 THEN PUT (X(A),Y(A)),SQ,PSET
  79. 790  IF B(A)>0 THEN PUT (X(A),Y(A)),C1,PSET
  80. 800  LOCATE YL(A),XL(A): PRINT CHR$(L(A)): RETURN
  81. 810  DATA 36,20,-256,192,0,-961,0,16128,255,0,-1,192,-3328,-16177,0,-1,192
  82. 820  DATA 16128,255,0,-1009,-16381,1020,16368,-16,-1,-3841,-1,-769,-16336,-193
  83. 830  DATA 192,16128,-3841,0,-241,252,768,-769,0,16128,252,0,-4033,0,16128,192,0
  84. 840  DATA -4081,0,0,255,0
  85. 850  DATA 52,20,48,0,3,15360,240,768,0,-241,252,-16381,768,-1,960,192,-256
  86. 860  DATA -769,-4081,0,-241,16383,255,3840,4095,12543,0,-1009,-1,192,768,-61
  87. 870  DATA 207,0,3840,-16129,0,0,-12289,192,0,-253,-16369,0,768,-15361,240
  88. 880  DATA -32768,-253,15600,0,168,-193,-16369,-22016,-81,-21761,-24406,16296
  89. 890  DATA -1,0,-32768,-241,252,0,3840,-3841,0,0,-16372
  90. 900  DATA -6,1,6,-1,-5,7,5,-7
  91. 910  DATA 7,3,7,3,7,0,3,7,3,7,3,0
  92. 920  DATA 7,3,7,3,7,0,3,7,3,7,3,0,7,3,7,3,7
  93. 930  DATA 2,2,2,2,2,2,2,-1,-1,-1,-1,-1,2
  94. 940  DATA -1,-1,-1,-1,-1,2,-1,-1,0,1,1,2
  95. 950  DATA 1,1,1,1,1,2,1,1,1,1,1,2,2,2,2,2,2,2
  96.